home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MIDICraft's MIDINET CD-ROM
/
MIDICraft's MIDINET CD-ROM.iso
/
DOSUTILS
/
MIDIVOL.DOC
< prev
next >
Wrap
Text File
|
1996-10-05
|
5KB
|
167 lines
******************************
MIDIVOL v1.0
adjust volume of midi files
by Guenter Nagler
1995
(gnagler@ihm.tu-graz.ac.at)
******************************
[0] FEATURES
+ reads a binary midi file
+ writes a binary midi file
+ changes volume of midi files to a common level
+ shows volume statistics of a midi file
[1] BACKGROUND
Often midi files are very different in their main volume range so that
it is necessary to regulate volume manually (using a volume slider).
This raised the question if it is possible to set the volume of midi files
to a level where it is not necessary to manually adjust the main volume.
This program was an experiment that should prove that this is possible,
in spite of the fact that in midi internals the volume depends on
selected volume on channel and selected velocity on played note.
[2] FILES DESCRIPTION
MIDIVOL.EXE.........converter program for adjusting volume
MIDIVOL.DOC.........this file, showing usage of MIDIVOL.EXE
MIDIIO.HPP..........header file for a c++ midi parser
MIDIIO.CPP..........source code for a c++ midi parser
MIDIVOL.CPP.........c++ source code for modifying midi files
MIDIVOL.MAK.........make file for project
MIDIVOL.CFG.........compiler options for make
MIDIVOL.PRJ.........compiler project for Borland (tm) c++ compilers
only MIDIVOL.EXE is required to run program
[3] COPYRIGHT
MIDIVOL (c) 1995 was created by Guenter Nagler.
MIDIVOL is free and may be used as you wish with this one exception:
You may NOT charge any fee or derive any profit for distribution
of MIDIVOL. Thus, you may NOT sell or bundle MIDIVOL with any
product in a retail environment (shareware disk distribution, CD-ROM,
etc.) without permission of the author.
You may give MIDIVOL to your friends, upload it to a BBS, or ftp it to
another internet site, as long as you don't charge anything for it.
[4] DISCLAIMER
MIDIVOL was designed to handle only 100% compatible midi files.
Treat the program as an experiment and keep your originals until
you are sure that the conversion results satisfy your desire.
If you find a midi file that you think to be 100% compatible midi
that is not correctly converted, please send a sample file to
gnagler@ihm.tu-graz.ac.at .
Use MIDIVOL at your own risk. Anything you do with MIDIVOL is your
responsibility, and not the author's. Any damage caused to any person,
computer, software, hardware, company, or business by running MIDIVOL
is your responsibility, and the author will not be liable.
If you don't understand these terms, or are not sure of something, or
are afraid something bad might come of using MIDIVOL, don't use it!
You are here forewarned.
[5] INSTALLATION
[MSDOS]
Simply copy MIDIVOL.EXE in a directory that is in your path.
When you start the program without arguments
[UNIX]
compile sources with your C++ compiler (e.g. GNU Compiler g++):
g++ -o midivol midivol.cpp midiio.cpp
and run program
$ midivol
C:\> MIDIVOL
you should get the usage text (see next section)
[6] USAGE
midivol tries to change volume of midi files to a common level
usage: midivol [-level #] file.mid newfile.mid
The parts in brackets [...] are optional.
The program MIDIVOL allows following option:
-version get program version
-level # level are between 1 and 16000 (default is 13000)
Warning:
very low levels can only be reached by using general volume 1
very high levels can only be reached by using general volume 127
I recommend using level between 8000 and 15000.
[8] SUGGESTIONS / COMMENTS / BUG REPORTS / QUESTIONS
WWW: http://hgiicm.tu-graz.ac.at/Cpub
contains all my dos/unix midi programs
EMAIL: gnagler@ihm.tu-graz.ac.at
[9] USE
example: get the current program version
command> midivol -version
midivol v1.0 by Günter Nagler (Jun 08 1996)
example: get volume statistics about a midi file
command> midivol file1.mid
minimum level=0
maximum level=13716
average level=1674
maximum volume=127
example: adjust two files to a common volume level
First get an overview about which levels are used by the midi files:
command> midivol file1.mid
minimum level=0
maximum level=13716
average level=1674
maximum volume=127
command> midivol file2.mid
minimum level=0
maximum level=16129
average level=7288
maximum volume=127
So file2.mid is louder than file1.mid
We take a middle between the maxima levels of the files:
file1.mid: maximum level=13716
file2.mid: maximum level=16129
The middle of these values is about 15000. We use this value as common level.
command> midivol -level 15000 file1.mid newfile1.mid
command> midivol -level 15000 file2.mid newfile2.mid
The new files have following statistics:
command> midivol newfile1.mid
minimum level=0
maximum level=14986
average level=1624
maximum volume=127
command> midivol newfile2.mid
minimum level=0
maximum level=14986
average level=6764
maximum volume=118
Try this procedure with some of your midi files and play the results and
compare their volume.